﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

public enum ConditionKind
{
    NONE,
    ATRIBUTE,
    ITEM,
    LICENSE
}

public class Condition
{
    private string id;

    private bool isTrue = true;

    private bool toRemove = false;

    public bool ToRemove
    {
        get { return toRemove; }
        set { toRemove = value; }
    }

    public bool IsTrue
    {
        get { return isTrue; }
        set { isTrue = value; }
    }

    public string ID
    {
        get { return id; }
    }

    private Atributo atributo;
    public Atributo Atributo
    {
        get { return atributo; }
    }

    private int quantidade;
    public int Quantidade
    {
        get { return quantidade; }
    }

    public Condition(string id)
    {
        string knd = id.Split(' ')[0];

        if (knd.Equals("Item"))
        {
            kind = ConditionKind.ITEM;
            quantidade = Int32.Parse(id.Split(' ')[1]);
            this.id = id.Substring(7, id.Length -7);
        }
        else
            if (knd.Equals("Carisma"))
            {
                kind = ConditionKind.ATRIBUTE;
                atributo = Atributo.CARISMA;
                quantidade = Int32.Parse(id.Split(' ')[1]);
            }
            else
                if (knd.Equals("Inteligencia"))
                {
                    kind = ConditionKind.ATRIBUTE;
                    atributo = Atributo.INTELIGENCIA;
                    quantidade = Int32.Parse(id.Split(' ')[1]);
                }
                else
                    if (knd.Equals("Percepcao"))
                    {
                        kind = ConditionKind.ATRIBUTE;
                        atributo = Atributo.PERCEPCAO;
                        quantidade = Int32.Parse(id.Split(' ')[1]);
                    }
                    else
                    {
                        kind = ConditionKind.LICENSE;
                        this.id = id;
                    }
    }

    private ConditionKind kind;
    public ConditionKind Kind
    {
        get { return kind; }
    }

    public bool CheckCondition(Condition condition)
    {

        return true;

    }

}
